1. Field of the Invention
The present invention relates to data compression, and is more particularly related to performing compression to improve network performance.
2. Discussion of the Background
The entrenchment of data networking into modern society, as evidenced by the immense popularity of the Internet, particularly the World Wide Web, has placed ever-growing demands on service providers to continually improve network performance. To meet this challenge, service providers have invested heavily in upgrading their networks to increase system capacity (i.e., bandwidth). In many circumstances, such upgrades may not be feasible economically or the physical constraints of the communication system do not permit simply “upgrading.” Accordingly, service providers have also invested in developing techniques to optimize the performance of their networks. One such technique that has received significant industry attention is data compression.
Data compression provides an approach to send more data over a communications channel of a given bandwidth. Specifically, data compression is useful for bandwidth efficiency in bandwidth-constrained networks. Furthermore, compression techniques are attractive to networks that are both bandwidth-constrained and exhibit high latency. In such networks, compression may be essential for providing acceptable performance in certain applications, particularly user-interactive applications. An example of a network that typically exhibits both of these undesirable characteristics, namely constrained bandwidth and high latency, is a satellite network.
Undoubtedly, World Wide Web browsing applications have transformed the manner in which information is exchanged. Because World Wide Web browsing is a highly user-interactive activity, it is desirable to reduce delay experienced by a user between requesting a WWW object (e.g., text, image, etc.) and receiving a response, such as the first portion of the object. The request and delivery of these objects are governed by the HyperText Transfer Protocol (HTTP). Given the highly interactive nature of web browsing, compression of HTTP messages is particularly desirable in a bandwidth-constrained, high-latency network.
Data compression techniques may be described as “stateless” or “stateful.” In stateful (or “state-based”) compression schemes, the compressor output for a given message depends on the input of prior messages—perhaps even all previous messages. It is observed that with stateful compression, the evolving overall compression ratio (total number of input bytes divided by total number of output bytes) increases asymptotically as more messages are processed. In other words, initial messages undergo comparatively less compression than later messages.
A stateful compression scheme for HTTP request messages in a satellite network has a number of drawbacks. One drawback is that the first message (i.e., request message) does not undergo any significant compression, relative to the amount that later messages are compressed. Consequently, delivery of objects specified by the first request message may be delayed. Another drawback is that decompressing a received compressed message requires successful receipt of earlier messages that are implicitly used by the compression algorithm to produce the received compressed message. This drawback is magnified in a network with mesh connectivity, in that different compressed messages may be sent to each of the connected terminals. If a state-based compression scheme were to be used in such a setting, then a separate compression state must be created and maintained in a sending terminal for each receiving terminal. Similarly, a separate compression state must be created and maintained in a receiving terminal for each terminal which sends to that receiving terminal. Hence, considerable memory may be required in a terminal for maintaining the compression states associated with multiple peer terminals.
Under a stateless compression scheme, each input message may be compressed and decompressed without regard to any other messages. However, conventional stateless compression schemes provide poor compression gains with respect to stateful compression schemes.
Furthermore, satellite networks commonly employ reservation procedures to secure bandwidth for transmission. Reservation procedures entail additional delay, which exacerbates response time for user-interactive applications. In some systems, however, such reservations procedures are not required for transmitting short messages. Accordingly, data compression techniques are desirable to convert messages to a form suitable for transmission as short messages, without reservation procedures.
Based on the foregoing, there is a clear need for improved approaches to performing data compression. There is also a need to implement a compression scheme that enhances scalability. There is a further need to provide data compression that efficiently utilizes resources of a high-latency network. Therefore, an approach for enhancing network performance using an effective compression scheme is highly desirable.